package com.chunfeng.mypen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chunfeng.mypen.entity.User;
import com.chunfeng.mypen.result.JsonRequest;

import java.util.List;

/**
 * 用户Service接口
 *
 * @author by 春风能解释
 * <p>
 * 2023/11/15
 */
public interface UserService extends IService<User> {

    /**
     * 用户登录
     *
     * @param name     用户名
     * @param password 密码
     * @return JSON
     */
    JsonRequest<String> login(String name, String password);

    /**
     * 用户注册
     *
     * @param name     用户名
     * @param password 密码
     * @return JSON
     */
    JsonRequest<Integer> register(String name, String password);

    /**
     * 条件查询用户
     *
     * @param current 当前页
     * @param size    每页长度
     * @param user    条件
     * @return JSON
     */
    JsonRequest<List<User>> lookAllUser(Integer current, Integer size, User user);

    /**
     * 查询用户个人信息
     *
     * @param id 用户ID
     * @return JSON
     */
    JsonRequest<User> lookOneUser(String id);

    /**
     * 更新用户信息
     *
     * @param user 待更新的用户
     * @return JSON
     */
    JsonRequest<Integer> updateOneUser(User user);

    /**
     * 批量注销用户
     *
     * @param ids 用户ID
     * @return JSON
     */
    JsonRequest<Integer> logoutUsers(List<String> ids);

}
